package com.unicom.office.var;

import com.unicom.office.dataitem.DataItem;
import com.unicom.office.dataitem.StringDataItem;
import com.unicom.office.type.StringTypeItem;
import com.unicom.office.type.TypeItem;

// type作为变量类型，有类型名。var作为实际变量，是有变量名的
// 因此函数返回值应该有变量类型，而不是实际变量

public class StringVarItem extends VarItem {
    //public static StringVarItem INSTANCE = new StringVarItem("string_var_item");

    public TypeItem getTypeItem() {
        return StringTypeItem.INSTANCE;
    }

    public StringVarItem(String name) {
        super(name);
    }

    public Object getFormatedValue(Object value) {
        if(value == null) {
            return getDefaultValue();
        }else{
            // 必须是return value，因为value可能是RichString
            return value;
        }
    }

    public DataItem createDataItem(Object value){
        return new StringDataItem(value, this);
    }
}
